#include <iostream>
#include <vector>
using namespace std;
int dx[4]={0,0,-1,1};
int dy[4]={1,-1,0,0};
int n,m;
void dfs(int x,int y,char val,vector<string>& vecMap){

    vecMap[x][y]='0';
    for(int i=0;i<4;++i){
        int nx=x+dx[i];
        int ny=y+dy[i];
        if(nx<0 || nx>=n || ny<0 || ny>=m || vecMap[nx][ny]!=val){
            continue;
        }
        dfs(nx,ny,val,vecMap);
    }
}
int main() {

    cin>>n>>m;
    vector<string> vecMap(n);
    for(int i=0;i<n;++i){
        cin>>vecMap[i];
    } 
    int nCnt=0;
    for(int i=0;i<n;++i){
        for(int j=0;j<m;++j){
            if(vecMap[i][j]!='0'){
                ++nCnt;
                dfs(i,j,vecMap[i][j],vecMap);
            }
        }
    }
    cout<<nCnt<<endl;
    
    return 0;
}
